﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
  namespace ERPSystem.Common.DTO
{
    public class PurchaseInvoiceReadQueryDto
    {
        /// <summary>
        /// 采购发票编号
        /// </summary>
        public int PurchaseInvoiceId { get; set; }  
        /// <summary>
        /// 单据号
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string DocumentNo { get; set; }
        /// <summary>
        /// 业务类型
        /// </summary>
        public int BusinessType { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string Vendor { get; set; }
        /// <summary>
        /// 开票日期
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public DateTime BillingDate { get; set; }
        /// <summary>
        /// 发票上传
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string OnInvoice { get; set; }
        /// <summary>
        /// 单据日期
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public DateTime DocumentDate { get; set; }
        /// <summary>
        /// 操作员
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string Operator { get; set; }
        /// <summary>
        /// 税号
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string TaxNo { get; set; }
        /// <summary>
        /// 红字篮字
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string RedBasketLetter { get; set; }
        /// <summary>
        /// XML格式
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string XMLFormat { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string DocumentStatus { get; set; }
        /// <summary>
        /// 审核员
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string Auditors { get; set; }
        /// <summary>
        /// 发票类型
        /// </summary>
        public string InvoiceTypeId { get; set; }
        /// <summary>
        /// 发票金额
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public decimal InvoiceAmount { get; set; }
        /// <summary>
        /// OFD格式
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string OFPFormat { get; set; }
        /// <summary>
        /// 业务状态
        /// </summary>
        public int BusinessStatusId { get; set; }
        /// <summary>
        /// 审核日期
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public DateTime DateOfReview { get; set; }
        /// <summary>
        /// 发票代码
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string InvoiceCode { get; set; }
        /// <summary>
        /// 税额
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public decimal Tax { get; set; }
        /// <summary>
        /// 发票状态
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string InvoiceStatus { get; set; }
        /// <summary>
        /// 发票号码
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string InvoiceNumber { get; set; }
        /// <summary>
        /// 价税合计
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public string PriceTaxTotal { get; set; }
        /// <summary>
        /// 备注信息
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "Nvarchar(100)")]
        public string RemarkInfo { get; set; }

        /// <summary>
        /// 税率
        /// </summary>
        public decimal TaxRate { get; set; }
        /// <summary>
        /// 税额
        /// </summary>
        public decimal AmountOfTax { get; set; }
    }
}
